///////////////////////////////////////////////////////////////////////////////////////////////////
/// \file formic/ham/er_local.h
///
/// \brief   header file for Edmiston-Ruedenberg orbital localization
///
///////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef FORMIC_HAM_ER_LOCAL_HEADER
#define FORMIC_HAM_ER_LOCAL_HEADER

#include<vector>

namespace formic {

  class Archive;
  class AllData;
  class InputBase;
  template<class S> class Hamiltonian;

  void er_localize(const formic::InputBase & userinp,
                   formic::Hamiltonian<double> & ham,
                   const std::vector<int> & orb_inds,
                   const std::vector<double> & coeff_guess);

  void ER_Localize_command_function(formic::Archive & arch, formic::AllData & data);

}

#endif
